package com.mingqijia.gassafety.job.service;

import com.alibaba.fastjson.JSONObject;
import com.mingqijia.gassafety.db.entity.Contacts;
import com.mingqijia.gassafety.db.entity.redis.LatestDetector;
import com.mingqijia.gassafety.db.entity.redis.LatestLog;
import com.mingqijia.gassafety.job.request.ConsumerListRequest;
import com.mingqijia.gassafety.job.request.LatestLogListRequest;
import com.mingqijia.gassafety.job.response.LatestLogListResponse;
import com.mingqijia.gassafety.job.response.LatestLogResponse;
import com.mingqijia.gassafety.shared.utils.commonUtils.PageUtil;

import java.util.List;

/**
 * <p>
 * 缓存实时状态 服务类
 * </p>
 *
 * @author guoliang.lao
 * @since 2022-03-04
 */
public interface LatestLogService {
    /**
     * 查询全部实时检测列表
     * @param request
     * @return
     */
    PageUtil<LatestLogResponse> list(LatestLogListRequest request);

    /**
     * 根据设备号查询实时状态信息
     * @param imei
     * @return
     */
    LatestLog get(String imei,String spId);

    /**
     * 根据状态查询实时检测列表
     * @param request
     * @return
     */
    //PageUtil<LatestLogResponse> listByStatus(LatestLogListRequest request);
    /**
     * 根据客户id集合,查询绑定设备最近上报信息
     * @param consumerIds
     * @return
     */
    List<LatestLogListResponse> getList(List<Integer> consumerIds, ConsumerListRequest request);

    /**
     * 查询redis中的实时状态信息
     * @param equipmentType
     * @param path
     * @param imei
     * @return
     */
    //LatestLog get(String equipmentType, String path, String imei, LatestDetector latestDetector);

    /**
     * 根据redis中查询的json对象转换Java对象
     * @param json
     * @return
     */
    //LatestDetector getLatestDetector(JSONObject json);

    /**
     * 数据处理
     * @param contacts
     * @return
     */
     Object dealContacts(List<Contacts> contacts);
}
